package com.by.bean;

import com.by.common.group.ISave;
import com.by.common.group.IUpdate;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @author Ye QS
 * @version 0.1
 * @className Dept
 * @description 用户
 * @date 2024/9/9 10:16
 * @since jdk11
 */
@ApiModel("部门")
@Data
public class Dept {
    @ApiModelProperty(value = "部门id", required = true)
    @NotNull(message = "ID不能为空", groups = {IUpdate.class})
    @Min(value = 1, message = "ID必须大于0")
    Integer id;
    @ApiModelProperty(value = "部门名称", required = true)
    //在这里 {ISave.class, IUpdate.class} 定义了一个类数组，
    // 表示这个 @NotBlank 验证规则应该在 ISave 接口和 IUpdate 接口中定义的方法被调用时生效。
    // 这意味着当执行保存（save）操作或者更新（update）操作时，系统会检查 name 字段是否符合不为空的要求。
    @NotBlank(message = "部门名称不能为空！", groups = {ISave.class, IUpdate.class})
    String name;

    @ApiModelProperty(value = "上级部门id,顶级部门为0", required = true)
    int parentId;

    @ApiModelProperty(hidden = true, value = "部门编码")
    String deptCode;
}
